Test-Driven Development with Jest
from Test-Driven React, Second Edition
『Jest による テスト駆動開発』
「テストを後から書く」というアプローチには以下のような欠点がある
1. 機能実装中にフィードバックを受け取れない
2. 実装後に書いたテストは「想定通り」動作することを確認するだけになりがち
エッジケース で発生する可能性のあるバグを発見できない
3. 既存のコード構造を見直すことなく機能を追加しようとする
他の機能を壊すかもしれないという懸念から、リファクタリング を避けがち
これらの欠点は TDD の重要な要素である「テストを先に書く(テストファースト)」ことで回避できる
warning.icon テストファースト は TDD において重要だが、本質ではない
TDD の本質は「迅速な反復」
以下のフローを繰り返す
1. 1 つの小さなテストを書く
2. 1. のテストが失敗することを確認する
3. 1. テストをパスするだけの実装を行う
4. テストがパスすることを確認する
5. Git を使用して進捗を保存する
Red, Green, Repeat
TDD は コードカバレッジ を向上させるだけでなく、コーディング体験を変えるものである
テスト『駆動開発』radish-miyazaki.icon
テストが既にあると、何がうまくいって何がうまくいかないか(フィードバック)をすぐに確認できる
これにより、様々なアプローチが可能に
クリーンなコードにするためのリファクタリングも可能
この『実験』が学びに繋がり、より良いコードを生み出す
#読書メモ